import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Torreta enemiga que se mueve por el mundo y dispara bombas
 * 
 * @author Luis Guajardo Olvera
 * @author Daniel Romero Martí
 */
public class Torreta extends Enemigo
{ 
    private GreenfootImage [] arreglo;
    /**
     * Constructor de la clase Torreta
     */
    public Torreta()
    {
        super.aumentaTam(10);
        super.profundidad(0);
        arreglo= new GreenfootImage[9];
        for(int i=0;i<9;i++)
            arreglo[i] = new GreenfootImage("antiaereo"+i+".png");
    }

    /**
     * Método que se llama cuando el objeto ha sido agregado al mundo
     */
    public void addedToWorld(World Tierra)
    {  
        setImage(arreglo[super.profundidad()]);
    } 

    /**
     * Act - do whatever the Torreta wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    public void act() 
    { 
        mueve();
        escala();
        ataca();
        int tam = super.aumentaTam();
        super.aumentaTam(tam+1);
        desaparece();
    }

    /**
     * Metodo que mueve a la torreta en el mundo
     */
    public void mueve()
    { int x,y;
        x = getX();
        y = getY();

        this.setLocation(x,y+1);
    }

    /**
     * metodo que regresa la profundidad de la torreta
     */
    public int profundidad()
    {
        return super.profundidad();
    }

    /**
     * Metodo que crea una bomba para atacar a la nave StarFox
     */
    public void ataca()
    { Bomba bomba = new Bomba(super.profundidad());
        World mundo = getWorld();
        int numero,x,y;
        numero= Greenfoot.getRandomNumber(50);
        if(numero==20)
        {  
            // x= coordenadaXStarFox();
            // y= coordenadaYStarFox();
            mundo.addObject(bomba,getX(),getY());
            // bomba.checaProfundidad(profundidad);
        }
    }

    /**
     * Metodo que aumenta el tamaño del objeto
     */
    public void escala()
    { 
        if(super.aumentaTam()==20 && super.profundidad() !=9)
        { setImage(arreglo[super.profundidad()]);
           int prof = super.profundidad();
           super.profundidad(prof+1); 
            super.aumentaTam(0);
        }
    }

}
